package com.shunli.cterminal.model.res;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

import static com.examples.core.tool.utils.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

/**
 * @ClassName: PayedOrderInfoVO
 * @Description: TODO
 * @Author: DAIYALU
 * @Date: 2024/11/11
 * @Version: 1.0
 */
@Data
public class PayedOrderInfoVO implements Serializable {

    private static final long serialVersionUID = -4981811291375804249L;

    @Schema(description = "生日")
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime birthday;
    @Schema(description = "日期类型：0-公历(阳历)，1-阴历(农历)，2-国历")
    private Integer isLunar;
    @Schema(description = "性别 0-女 1-男 2-未知")
    private Integer sex;
    @Schema(description = "用户名称")
    private String userName;

    @Schema(description = "订单号")
    private String orderId;

    @Schema(description = "商品类型")
    private String goodsType;

    @Schema(description = "原始价格")
    private BigDecimal yuanPrice;

    @Schema(description = "收款状态 0-未收款 1-已收款")
    private Integer state;

    @Schema(description = "支付金额")
    private BigDecimal realAmount;

    @Schema(description = "红包金额")
    private BigDecimal abductBao;

    @Schema(description = "是否使用红包 0-未使用 1-已使用")
    private Integer isUseRedbag;

    @Schema(description = "（废弃）发货链接，用link字段")
    @Deprecated
    private String resultLink;

    @Schema(description = "发货方式 1-自动发货 2-微信发货 3-获客助手 01-获客助手,04-whatsapp")
    private String fhType;

    @Schema(description = "商品ID")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long goodsId;

    @Schema(description = "支付时间")
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime payTime;

    @Schema(description = "是否填写手机号 false-未填写 true-已填写")
    private Boolean existPhone;

    @Schema(description = "商品名称")
    private String goodsName;

    @Schema(description = "下单时间")
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime createTime;

    @Schema(description = "发货状态 1 已发 0 未发")
    private Integer delivery;

    @Schema(description = "结果页")
    private String link;

    @Schema(description = "工作")
    private Bottom bottom;

    private String firstName;
    private String isBirth;

    private String woName;
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime wbirthday;
    private String taName;
    @JsonFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime tbirthday;

    private String businessType;
    private String areaFname;
    private String hangyeLname;
    @Schema(description = "下单域名")
    private String urlName;
}
